/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import entidades.Equipamento;
import entidades.Tipo;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import persistencia.RepositorioJPAEquipamentos;
import persistencia.RepositorioJPATipo;

/**
 *
 * @author Gleydson
 */
@ManagedBean(name = "EquipamentosBean")
@ViewScoped

public class EquipamentosBean {
    private Equipamento equipamento;
    private RepositorioJPAEquipamentos repositorioEquipamentos;
    private RepositorioJPATipo repositorioTipo;
    private List<Tipo> listaTipo;
    private List<Equipamento> equipamentos;
    private Tipo tipo;
    private boolean insert;
    
    public EquipamentosBean(){
        equipamento = new Equipamento();
        repositorioTipo = new RepositorioJPATipo();
        repositorioEquipamentos = new RepositorioJPAEquipamentos();
        equipamentos = repositorioEquipamentos.getAll();
    }    
    
    public void botaoNovoEquipamentoAction(){
        setListaTipo(repositorioTipo.getAll());
        insert = true;
        equipamento = new Equipamento();
    }

    public void botaoAlterarEquipamentoAction(){
        setListaTipo(repositorioTipo.getAll());
        insert = false;
    }

    public void botaoApagarEquipamentoAction(){
        repositorioEquipamentos.delete(equipamento);   
        equipamentos = repositorioEquipamentos.getAll();
    }
    
    public void botaoSalvarEquipamentoAction(){
        if(insert)
            repositorioEquipamentos.insert(equipamento);
        else
            repositorioEquipamentos.update(equipamento);
        equipamentos = repositorioEquipamentos.getAll();
    }

	
    public void botaoSalvarTipoAction(){
            repositorioTipo.insert(tipo);
            listaTipo = repositorioTipo.getAll();
            equipamento.setTipo(tipo);
    }
    
    public void linkAddNovoTipo(){
        tipo = new Tipo();
    }

    /**
     * @return the equipamento
     */
    
    public Equipamento getEquipamento() {
        return equipamento;
    }
        
    /**
     * @param equipamento the equipamento to set
     */
    
    public void setEquipamento(Equipamento equipamento) {
        this.equipamento = equipamento;
    }

    /**
     * @return the repositorioEquipamentos
     */
    
    public RepositorioJPAEquipamentos getRepositorioEquipamentos() {
        return repositorioEquipamentos;
    }

    /**
     * @param repositorioEquipamentos the repositorioEquipamentos to set
     */
    
    public void setRepositorioEquipamentos(RepositorioJPAEquipamentos repositorioEquipamentos) {
        this.repositorioEquipamentos = repositorioEquipamentos;
    }

    /**
     * @return the equipamentos
     */
    public List<Equipamento> getEquipamentos() {
        return equipamentos;
    }

    /**
     * @param equipamentos the equipamentos to set
     */
    public void setEquipamentos(List<Equipamento> equipamentos) {
        this.equipamentos = equipamentos;
    }

     /**
     * @return the insert
     */
    public boolean isInsert() {
        return insert;
    }

    /**
     * @param insert the insert to set
     */
    public void setInsert(boolean insert) {
        this.insert = insert;
    }

    /**
     * @return the listaTipo
     */
    public List<Tipo> getListaTipo() {
        return listaTipo;
    }

    /**
     * @param listaTipo the listaTipo to set
     */
    public void setListaTipo(List<Tipo> listaTipo) {
        this.listaTipo = listaTipo;
    }

    /**
     * @return the tipo
     */
    public Tipo getTipo() {
        return tipo;
    }

    /**
     * @param tipo the tipo to set
     */
    public void setTipo(Tipo tipo) {
        this.tipo = tipo;
    }

  
}
